Table of Contents

 InFocus 1.0

Copyright © 1994 by Mark Hanson

ALL RIGHTS RESERVED.

Overview

Installation

Legal Stuff

Registration

Support

Properties

Events


Overview

InFocus is a custom control for Microsoft Visual Basic for Windows.

InFocus can be used to easily provide true context-sensitive status lines in your application.  Infocus generates events under the following circumstances:

 	When any control receives the input focus

 	When any menu item is highlighted by the user

 	When the mouse moves over any control

InFocus is not just a "status line" control, as it is not even visible at run-time.  The developer can respond to the events in any way he or she chooses.  This is an important feature, because the unique look and feel of your application is not compromised by InFocus.

InFocus can be placed on both MDI and non-MDI forms.  To place InFocus on an MDI parent form, simply put InFocus in a picture box on the form.

The included demo program explores many of the possibilities of InFocus.  Please take some time to look at the demo program from within the VB environment.  You will surely see how effortless a professional status line can be!


Installation

You should have received the following files:

INFOCUS.VBX	Visual Basic custom control file

INFOCUS.HLP	This help file

README.TXT	Installation notes and documentation changes

DEMO.MAK	Visual Basic project file for the demo program

DEMO.FRM	Visual Basic form file for the demo program

DEMO.FRX	Binary data for the above form file

DEMO.EXE	Visual Basic executable demo program

Just copy the files together to any directory.  You may also want to copy INFOCUS.VBX to your WINDOWS\SYSTEM directory.

To receive help on InFocus from the Visual Basic environment, be sure this help file is in the same directory as the VBX.


Legal Stuff

License

InFocus is not public domain or free software.

You are granted a license to use the shareware version of InFocus for an evaluation period of 30 days.  After 30 days, registration is required.  The shareware version of InFocus may be duplicated and distributed for the purpose of evaluation only.  No fee may be charged for distributing the shareware version (other than an administrative fee not exceeding $5).  Unregistered users do not have the right to distribute InFocus with an application program.

Disclaimer

This software and documentation are supplied "AS IS".  The author makes no warranty of any kind, either express or implied, with respect to this software and accompanying documentation.

In no event shall the author of this software be liable for any damages arising out of the use of this product.  Your use of this  software indicates that you have read and agreed to these terms.

Acknowledgements

Microsoft is a registered trademark of Microsoft Corporation.

Visual Basic and Windows are trademarks of Microsoft Corporation.


Registration

To register InFocus, you may print out and complete the order form. If you cannot print the order form, just write the equivalent information out by hand.  Send the order information, along with a check or money order for $20 in US funds to:

Mark Hanson

PO Box 10154

Rochester, NY 14610-0154

USA

Please make the check or money order payable to Mark Hanson.

Upon registering the product, you will receive the latest version on diskette.

Compuserve members may register on-line by typing "GO SWREG" and selecting ID 2277.  If you register on-line, you will receive InFocus by Compuserve E-Mail.

Registered users receive a special license file that will automatically register future versions of InFocus.


Support

There are many methods of obtaining support for InFocus. These methods are listed in order of preference:

Send E-Mail to me on Compuserve at 72773,71

Send FidoNet netmail to Mark Hanson at 1:2613/119

Leave a message to Mark Hanson on the support BBS:

1 X. I. S.

Rochester, NY USA

(716) 671-7745

12-28.8K baud rates

Contact me at the address indicated in Registration

Your comments and questions about InFocus are strongly encouraged!


Properties

Since InFocus is invisible at run-time,

there isn't a need for many properties.

The following InFocus properties are

documented in the Visual Basic help files.

Enabled

Index

Left

Name

Parent

Tag

Top


Events

InFocus supports the following custom events.

FocusChange

MenuSelect

MouseOver


FocusChange Event

Description

Occurs when any control on the same form as InFocus receives the input focus.  The arguments identify the focused control.

Syntax

Sub InFocus_FocusChange( CtlName as String, CtlIndex as Integer, CtlTag as String, CtlHwnd as Integer )

Argument	Description

CtlName	The name of the control as defined in Visual Basic.

CtlIndex	The index of the control if it's part of a control array.  This argument will be -1 if not applicable.

CtlTag	The Tag property of the control.

CtlHwnd	The window handle of the control.  This is equivalent to the control's hWnd property.

Remarks

If the control is not a Visual Basic control, CtlName and CtlTag will be empty.  However, CtlHwnd will always contain a valid window handle.


MenuSelect Event

Description

Occurs when any menu item on the same form as Infocus is highlighted by the user with either the mouse or keyboard.

Syntax

Sub InFocus_MenuSelect( MenuText as String )

Argument	Description

MenuText	The text of the selected menu item.

Remarks

If the menu item contains an accelerator key, MenuText will contain a tab (ASCII 9) followed by the textual representation of the accelerator.

There are a few special values that MenuText can contain:

Value	Meaning

-	A menu separator (horizontal black line) has been selected.

[SYSMENU]	The system menu (control box in upper-left corner) of the window has been selected.

[CANCEL]	The menu was exited without selecting an item.


MouseOver Event

Description

Occurs when the mouse has moved over a control on the same form as InFocus.  The arguments identify the control that the mouse is over.

Syntax

Sub InFocus_MouseOver( CtlName as String, CtlIndex as Integer, CtlTag as String, CtlHwnd as Integer )

Argument	Description

CtlName	The name of the control as defined in Visual Basic.

CtlIndex	The index of the control if it's part of a control array.  This argument will be -1 if not applicable.

CtlTag	The Tag property of the control.

CtlHwnd	The window handle of the control.  This is equivalent to the control's hWnd property.

Remarks

If the control is not a Visual Basic control, CtlName and CtlTag will be empty.  However, CtlHwnd will always contain a valid window handle.

This event is not fired continually as the mouse moves over the control.  It is only fired once, as the mouse enters the control.

This event is not fired for a control that has it's MousePointer property set to something other than the default.


Order Form
InFocus Order Form

Select "Print Topic" from the File menu to print this form.

Price:	$20

Remit order to:	Mark Hanson

PO Box 10154

Rochester, NY 14610-0154

USA

Send product to:

Name:	________________________________________

Address:	________________________________________

________________________________________

________________________________________

________________________________________

Payments from outside of the United States must be in one of these forms:

- US currency

- An American Express money order payable in US currency

- An international postal money order payable in US currency

- A check drawn on a US bank payable in US currency